<?php
/**
 * Created by PhpStorm.
 * User: aiChenK
 * Date: 2018-12-21
 * Time: 11:29
 */

namespace Helpers;

use PhpOffice\PhpSpreadsheet\IOFactory;

class Excel
{

    /**
     * 读取excel
     *
     * @param $file
     * @param int $sheetIndex
     * @return array
     * @throws \Exception
     *
     * create by ck 20181221
     * modify by ck 20190219    使用toArray()方法简化
     */
    public static function read($file, $sheetIndex = 0)
    {
        $fileName = File::getFileName($file);
        $fileSuffix = File::getFileSuffix($fileName);
        $excel = IOFactory::createReader(ucfirst($fileSuffix))->load($file);
        $sheet = $excel->getSheet($sheetIndex);
        return $sheet->toArray();

//        $rowNum = $sheet->getHighestRow();
//        $maxColumn = $sheet->getHighestColumn();
//
//        //计算列数
//        $columnNum = 0;
//        for ($i = 0; $i < strlen($maxColumn); $i++) {
//            $columnNum and $columnNum += 25;
//            $columnNum += (ord($maxColumn[$i]) - ord('A') + 1);
//        }
//        if (!$rowNum || !$columnNum) {
//            throw new \Exception('文件内容为空！');
//        }
//
//        //表格数据读取
//        $data = [];
//        for ($row = 1; $row <= $rowNum; $row++) {
//            for ($column = 1; $column <= $columnNum; $column++) {
//                $val = $sheet->getCellByColumnAndRow($column, $row)->getFormattedValue();
//                if (is_object($val)) {
//                    throw new \Exception(chr($column + ord('A')) . $row . '文本读取失败');
//                }
//                $data[$row - 1][$column - 1] = $val;
//            }
//        }
//        return $data;
    }
}
